Вы
являетесь одним из разработчиков программного обеспечения для агентства
недвижимости. Вам следует реализовать различные статистические функции для
квартир, которые продает агентство. Каждая квартира состоит из различных типов
комнат: спальня, ванная комната, кухня, балкон и другие.
Стоимость
квартиры равна произведению уменьшенной общей площади и стоимости одного
квадратного метра. Уменьшенной общей площадью считается общая площадь всех
помещений кроме балконов плюс половина площадей всех балконов.
Вам будет
предоставлена информация о площади каждой комнаты в квартире и стоимость одного
квадратного метра. Необходимо рассчитать следующие значения для квартиры:
·
общую площадь комнат;
·
общую площадь всех спален;
·
стоимость квартиры.
Вход.
Первая строка содержит два целых числа n (1 ≤ n ≤
10) и c (1 ≤ c ≤ 100000) – количество комнат в
квартире и стоимость квадратного метра соответственно.
Каждая из следующих n строк содержит целое число ai (1 ≤ ai ≤ 100) и слово ti – площадь i-ой комнаты и ее тип соответственно.
Слово ti может содержать только одно из следующих значений:
"bedroom", "bathroom", "kitchen",
"balcony", "other".
Выход. Первая
строка содержит одно целое число - общую площадь всех комнат квартиры. Вторая
строка содержит одно целое число - общую площадь всех спален в квартире. Третья
строка содержит одно действительное число - стоимость квартиры с точностью не
больше 10-6.
Следующий рисунок отображает план
квартиры, заданной в первом примере.
Пример
входа |
Пример
выхода |
6 75000 8 other 3 bathroom 2 bathroom 10 kitchen 16 bedroom 7 balcony |
46 16 3187500.0 |
строки
Вычислим площадь
всех спален BedRoom, всех балконов Balcony и всей квартиры Area. Пусть c – стоимость квадратного метра. Тогда общая стоимость квартиры
равна
(Area – Balcony / 2.0) * c
Информацию о
типе комнаты считываем в массив s.
char s[100];
Читаем входные
данные. Вычисляем площадь всех спален и балконов.
scanf("%d %d",&n,&c);
BedRoom =
Balcony = Area = 0;
for(i = 0; i < n; i++)
{
scanf("%d
%s",&a,s);
if
(!strcmp(s,"bedroom")) BedRoom +=
a;
if
(!strcmp(s,"balcony")) Balcony +=
a;
Area += a;
}
Вычисляем стоимость квартиры.
Price = (Area -
Balcony / 2.0) * c;
Выводим требуемые данные.
printf("%d\n%d\n%.1lf\n",Area,BedRoom,Price);
Java реализация
import
java.util.*;
//import
java.io.*;
public class
Main
{
public static void
main(String []args) //throws IOException
{
Scanner con = new
Scanner(System.in);
//Scanner con =
new Scanner(new FileReader ("2375.in"));
int n =
con.nextInt();
int c =
con.nextInt();
int BedRoom
= 0, Balcony = 0, Area = 0;
for(int i = 0; i < n; i++)
{
int a =
con.nextInt();
String s = con.next();
if
(s.equals("bedroom")) BedRoom += a;
if (s.equals("balcony"))
Balcony += a;
Area += a;
}
double
Price = (Area - Balcony / 2.0) * c;
System.out.printf(Locale.US,"%d\n%d\n%.1f\n",Area,BedRoom,Price);
}
}